package com.yyfax.pay.depository.service.inner;

import com.yyfax.pay.common.model.vo.BackResultFormVO;
import com.yyfax.pay.common.model.vo.RedirectFormVO;
import com.yyfax.pay.depository.domain.FuiouChangePhone;
import com.yyfax.pay.depository.vo.FuiouChangePhoneVO;
import com.yyfax.pay.third.model.to.fuioudeposit.FuiouChangePhoneBackReq;
import com.yyfax.pay.third.model.to.fuioudeposit.FuiouChangePhoneFormVO;
import com.yyfax.pay.vo.depository.ChangePhoneReq;

/**
 * 账户信息服务
 * 
 * @author buyi
 * @date 2017-09-09 11:11:44
 * @since v2.0.0
 */
public interface AccountInnerService {

	/**
	 * 保存信息
	 * 
	 * @author buyi
	 * @date 2017-09-09 11:31:10
	 * @since v2.0.0
	 * @param merchantCode
	 * @param params
	 * @return
	 */
	public FuiouChangePhoneVO saveChangePhone(String merchantCode, ChangePhoneReq params);

	/**
	 * 更换用户手机号
	 * 
	 * @author buyi
	 * @date 2017-09-09 11:13:08
	 * @since v2.0.0
	 * @param merchantCode
	 * @param params
	 */
	public RedirectFormVO<FuiouChangePhoneFormVO> getChangePhoneForm(FuiouChangePhoneVO vo);


	/**
	 * 解析富友更换手机通知请求合法性
	 * 
	 * @author buyi
	 * @date 2017-09-15 09:32:24
	 * @since v2.0.0
	 * @param merchantCode
	 * @param req
	 * @return
	 */
	public FuiouChangePhoneVO parseChangePhoneBackResult(String merchantCode, FuiouChangePhoneBackReq req);
	
	/**
	 * 封装富友更换手机同步回调请求表单
	 * 
	 * @author buyi
	 * @date 2017-09-09 11:56:38
	 * @since v2.0.0
	 * @param merchantCode
	 * @param req
	 * @return
	 */
	public RedirectFormVO<BackResultFormVO> getChangePhoneRouteForm(FuiouChangePhone po);

}
